package main

import (
	"Go_Study_Project/结构体/pojo"
	"fmt"
)

type qq struct {
	name string
	age  int
}

func main() {
	fmt.Printf("名字是：%v\n", "lxx") //%v是值的默认格式
	fmt.Printf("年龄是：%v\n", 19)
	p := &struct {
		name string
		age  int
	}{"lxx", 19}
	fmt.Printf("结构体内容为：%v\n", p)
	fmt.Printf("结构体内容为(带字段名)：%+v\n", p)     // 其他情况跟%v一致，但输出结构体时会添加字段名
	fmt.Printf("结构体内容为(值的Go语法表示)：%#v\n", p) // 输出匿名结构体是会带其定义的关键字struct和其字段还有初始化的内容还会显示其类型指针就是&开头
	pp := &qq{"Dsad", 123}
	fmt.Printf("结构体内容为：%v\n", pp)
	fmt.Printf("结构体内容为(带字段名)：%+v\n", pp)
	fmt.Printf("结构体内容为(值的Go语法表示)：%#v\n", pp) //输出普通的结构体还会输出其所在的包加结构体名和其字段和初始化的内容

	var p3 = pojo.Usssss{
		Name: "",
		Age:  123,
	}

	fmt.Printf("结构体内容为：%v\n", p3)
	fmt.Printf("结构体内容为(带字段名)：%+v\n", p3)
	fmt.Printf("结构体内容为(值的Go语法表示)：%#v\n", p3) //输出普通的结构体还会输出其所在的包加结构体名和其字段和初始化的内容

	fmt.Printf("切片内容为：%v\n", []int{4, 5, 6})
	fmt.Printf("切片内容为(值的Go语法表示)：%#v\n", []int{4, 5, 6})

	fmt.Printf("切片值的类型为：%T\n", []int{4, 5, 6}) //既生%#v何生%T建议永%#v还能输出内容不要内容只要类型建议用%T
	fmt.Printf("字符串值的类型为：%T\n", "lxx")

	fmt.Printf("打印百分百：100%%\n") //打印%的方法就是打印两次

}
